package br.rafael.mulock.controle_de_estoque.modelo.pojo;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "usuario")
public class Usuario {

	@Id	
	@Column(name = "login", nullable=false, updatable=false, insertable=true, length=15 , unique=true)
	private String login;
	
	@Column(name = "nome", nullable=false, updatable=false, length=50)
	private String nome;
	
	@Column(name = "descricao", nullable=true, updatable=false, length=150)
	private String descricao;
	
	@Column(name = "data_ultimo_acesso", nullable=false)
	private Date dataUltimoAcesso;
	
	@OneToMany(mappedBy = "usuario", targetEntity=MovimentacaoEstoque.class)
	private List<MovimentacaoEstoque> movimentacaoEstoque;
	
	@OneToMany(mappedBy = "usuario", targetEntity=Cliente.class)
	private List<Cliente> cliente;

	public Usuario() {
		
	}
	
	public Usuario(String login) {
		this.login = login;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public Date getDataUltimoAcesso() {
		return dataUltimoAcesso;
	}

	public void setDataUltimoAcesso(Date dataUltimoAcesso) {
		this.dataUltimoAcesso = dataUltimoAcesso;
	}

	public List<Cliente> getCliente() {
		return cliente;
	}

	public void setCliente(List<Cliente> cliente) {
		this.cliente = cliente;
	}

	public List<MovimentacaoEstoque> getMovimentacaoEstoque() {
		return movimentacaoEstoque;
	}

	public void setMovimentacaoEstoque(List<MovimentacaoEstoque> movimentacaoEstoque) {
		this.movimentacaoEstoque = movimentacaoEstoque;
	}
}
